package com.zxl.diy.weather.model.bean;

import org.json.JSONObject;

/**
 * 天气预报单元
 * Created by Administrator on 2016/11/6.
 */
public class Forcast {

    /**
     * 预报日期  2004/04/16 (固定yyyy/MM/dd格式) (暂无实况时，下发空字符串)
     */
    public  String date;

    /**
     * 星期一 星期一(暂无实况时，下发空字符串)
     */
    public String weekDate;

    /**
     * 天气状况 晴(暂无实况时，下发空字符串)
     */
    public String status;

    /**
     * 天气状况类型  参照天气状况列表
     */
    public int statusType;

    /**
     * 最高温度 华氏度，例如：23(暂无实况时，下发-10000.0)
     */
    public double high;

    /**
     * 最低温度  华氏度，例如：10(暂无实况时，下发-10000.0)
     */
    public double low;

    /**
     * 风向描述  东北风(暂无实况时，下发空字符串)
     */
    public String windDir;

    /**
     * 风向类型  参照风向类型列表 1
     */
    public int windDirType;

    /**
     * 风力数值  :9.1 (即：9.1 MPH) (暂无实况时，下发-10000.0)
     */
    public double windForceInt;

    /**
     * 降水概率  :90 (即：90%) (暂无实况时，下发-10000)
     */
    public int pop;

    /**
     *  白天天气描述 Partly cloudy. Fog early. High of 73F. Winds from the West at 5 to 15 mph. (暂无实况时，下发空字符串)
     */
    public String statusDay;

    /**
     * 夜晚天气描述  Partly cloudy. Fog early. High of 73F. Winds from the West at 5 to 15 mph. (暂无实况时，下发空字符串)
     */
    public String statusNight;

    public ForecastDay forecastDay;

    public ForecastNight forecastNight;

    public void parseJson(JSONObject jsonObject) {
        date = jsonObject.optString("key");
        weekDate = jsonObject.optString("weekDate");
        status = jsonObject.optString("status");
        statusType = jsonObject.optInt("statusType");
        high = jsonObject.optDouble("high");
        low = jsonObject.optDouble("low");
        windDir = jsonObject.optString("windDir");
        windDirType = jsonObject.optInt("windDirType");
        windForceInt = jsonObject.optDouble("windForceInt");
        pop = jsonObject.optInt("pop");
        statusDay = jsonObject.optString("statusDay");
        statusNight = jsonObject.optString("statusNight");

        forecastDay = new ForecastDay();
        forecastDay.parseJson(jsonObject.optJSONObject("forecastDay"));

        forecastNight = new ForecastNight();
        forecastNight.parseJson(jsonObject.optJSONObject("forecastNight"));

    }

    /**
     * 天气预报白天天气信息单元
     */
    public class ForecastDay {

        /**
         * 天气状况  晴(暂无实况时，下发空字符串)
         */
        public String status;

        /**
         * 天气状况类型  参照天气状况列表
         */
        public int statusType;

        /**
         * 温度  华氏度，例如：23(暂无实况时，下发-10000.0)
         */
        public double temp;

        /**
         * 风向类型  东北风(暂无实况时，下发空字符串)
         */
        public String windDir;

        /**
         * 风向类型  参照风向类型列表  例如：1
         */
        public int windDirType;

        /**
         * 风力数值  9.1 (即：9.1 MPH) (暂无实况时，下发-10000.0)
         */
        public double windForceInt;

        /**
         * 湿度  9(即9%）(暂无实况时，下发-10000)
         */
        public int humidity;

        /**
         * 日出   5:23(暂无实况时，下发空字符串)
         */
        public String sunrise;

        public void parseJson(JSONObject jsonObject) {
            status = jsonObject.optString("status");
            statusType = jsonObject.optInt("statusType");
            temp = jsonObject.optDouble("temp");
            windDir = jsonObject.optString("windDir");
            windDirType = jsonObject.optInt("windDirType");
            windForceInt = jsonObject.optDouble("windForceInt");
            humidity = jsonObject.optInt("humidity");
            sunrise = jsonObject.optString("sunrise");
        }

    }

    /**
     * 天气预报晚上天气信息单元
     */
    public class ForecastNight {

        /**
         * 天气状况  晴(暂无实况时，下发空字符串)
         */
        public String status;

        /**
         * 天气状况类型  参照天气状况列表
         */
        public int statusType;

        /**
         * 温度  华氏度，例如：23(暂无实况时，下发-10000.0)
         */
        public double temp;

        /**
         * 风向类型  东北风(暂无实况时，下发空字符串)
         */
        public String windDir;

        /**
         * 风向类型  参照风向类型列表  例如：1
         */
        public int windDirType;

        /**
         * 风力数值  9.1 (即：9.1 MPH) (暂无实况时，下发-10000.0)
         */
        public double windForceInt;

        /**
         * 湿度  9(即9%）(暂无实况时，下发-10000)
         */
        public int humidity;

        /**
         * 日出   5:23(暂无实况时，下发空字符串)
         */
        public String sunset;

        public void parseJson(JSONObject jsonObject) {
            status = jsonObject.optString("status");
            statusType = jsonObject.optInt("statusType");
            temp = jsonObject.optDouble("temp");
            windDir = jsonObject.optString("windDir");
            windDirType = jsonObject.optInt("windDirType");
            windForceInt = jsonObject.optDouble("windForceInt");
            humidity = jsonObject.optInt("humidity");
            sunset = jsonObject.optString("sunset");
        }

    }


}
